1. Technical Field
The present invention relates to communication systems, and in particular, to multi-lane communication systems.
2. Background Art
Communication systems for transmitting data may operate according to a number of standards and implementations. Such communication systems may include one or more communication channels for transmitting and receiving data. Some of such communication channels may include a transceiver that receives a serial data stream and de-serializes the serial data stream to transmit the data stream over multiple slower data rate data streams than the received serial data stream. Conversely, such a transceiver may also receive a de-serialized data stream in the form of multiple data streams and generate a combined serialized data stream to provide the data stream at a faster data rate that was received in de-serialized form. Such a transceiver may be referred to as a SERDES (serializer/deserializer) transceiver. SERDES transceivers may be used in a wide range of communication systems and devices, such as mobile devices, desktop computers and servers, computer networks, and telecommunication networks.
The de-serialized data stream is provided to the transceiver via a plurality of lanes. Some or all of these lanes may vary in physical length. Therefore, data traveling over the different lanes may arrive at the transceiver at varying times due to differences in latency incurred due to the differences in physical length of the lanes. When serializing the data received via the lanes, the data may be serialized in an incorrect order if the data received via each of these lanes is not properly aligned.
Various techniques have been used to align the lanes before serializing the data received in the lanes into a serial data stream. For example, the X Attachment Unit Interface (“XAUI”) addresses this problem by using alignment columns (which consist of four consecutive ALIGN control characters) that are periodically inserted into the data stream provided via the lanes. When the data stream is serialized, the XAUI transceiver must explicitly delay (“deskew”) the data received via each of the lanes such that the alignment column remains intact in the serial data stream. Subsequently, the XAUI transceiver continues to monitor the arrival of alignment columns to detect whether the lanes are out of alignment.
The alignment columns may be generated and inserted as part of the serial data stream provided by the XAUI transceiver, or may be removed by the XAUI transceiver before providing the serial data stream. However, both of these approaches have their disadvantages. For example, with the former approach, the upper layers of an associated protocol stack must be modified to support the alignment columns. With the latter approach, the aggregate raw throughput of XAUI transceiver is different where the alignment column data is included in the data stream compared to where the alignment column data is not included in the data stream, thereby complicating the design of the XAUI transceiver (e.g., complexity in generating clock signals to handle the different data throughput rates, etc.).